home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2008 January / Cybermycha 1_2008.iso / DataPh~1.cab / _49FE452868934408AA4C5A9F024E1436 < prev    next >
Encoding:
Text File  |  2004-05-19  |  8.6 KB  |  101 lines

  1. ///////////////////////////////////////////////////////////////////////////////////////////////////
  2. // Definicja polecen fizyki ODE
  3. // Ze skryptu korzystaja m.in. pliki ODEWorld.scr, ODEBiped.scr i opis poszczegolnych fizyk
  4. ///////////////////////////////////////////////////////////////////////////////////////////////////
  5.  
  6. !include("..\\surface.def")
  7.  
  8. //-------------------------------------------------------------------------------------------------
  9. // parametry globalne swiata ODE - korzysta CODEPhysicsManager
  10. !WorldParams()
  11. !EnableODE(i)                               // wlacza/wylacza cale ODE
  12. !EnableRenderOnStart(i)                     // wlacza/wylacza renderowanie geometrii ODE i kontaktow kolizyjnych na starcie programu
  13. !SetGravity(f,f,f)                          // grawitacja swiata ODE [cm/s^2]
  14. !SetERP(f)                                  // wspolczynnik ERP dla jointow
  15. !SetCFM(f)                                  // wspolczynnik CFM dla jointow
  16. !EnableFixedUpdateTime(i)                   // wlaczenie/wylaczenie stalego ziarna fizyki
  17. !SetFixedUpdateTime(f)                      // krok (ziarno) symulacji ODE [s]
  18. !SetMinUpdateTime(f)                        // minimalny krok symulacji ODE [s]
  19. !SetMaxUpdateTime(f)                        // maksymalny krok symulacji ODE [s]
  20. !EnableStepFast(i)                          // wlacza/wylacza tryb szybkiej emulacji - niedokladny
  21. !SetMinStepFastIterations(i)                // minimalna liczba iteracji w trybie StepFast
  22. !SetMaxStepFastIterations(i)                // maksymalna liczba iteracji w trybie StepFast
  23. !EnableSkipContactConnected(i)              // wlacza/wylacza kolizje cial polaczonych jointem
  24. !SetJointCountThreshold(i)                  // ustawia prog liczby jointow po osiagnieciu ktorego wlacza sie tryb StepFast
  25. !SetJointCountDivisor(i)                    // ustawia podzielnik liczby jointow - na kazde n jointow Accuracy spada o 0.01
  26. !EnableAutoUpdate(i)                        // wlacza/wylacza updateowanie przez level - jesli wylaczone to updaty rzeba robic recznie
  27. !WindDir(f,f,f)                             // kierunek sily wiatru
  28. !WindPhaseOppositionDistance(f)             // odleglosc 2 punktow na mapie, dla ktorych faza funkcji okresowej wiatru jest przeciwna
  29. !DirWindParams(f,f,f,f)                     // parametry wiatru wiejacego wzgodnie z kierunkiem - sa to 2 ruchy sinusoidalne - obciete do wartosci dodatnich.
  30.                                             // parametry: amplituda 1, amplituda 2, okres 1, okres 2
  31. !PerpDirWindParams(f,f,f,f)                 // parametry wiatru wiejacego prostopadle (w poziomie) do glownego kierunku wiatru - 2 ruchy sinusoidalne.
  32. !WindWaveParams(f,f,f,f)                    // parametry drobnych ale szybkich turbulencji wiatru (prostopadle do glownego kierunku wiatru) - 2 ruchy sinusoidalne.
  33.  
  34. //-------------------------------------------------------------------------------------------------
  35. // parametry cache'a fizyki ODE (MinHalo, MaxHalo, Freq) - korzysta CODEPhysicsManager
  36. !CacheParams()                              // MinHalo - minimalne halo (odleglosc od geometrii) z jakiego brane sa trojkaty do cache'a 
  37.                                             // MinHalo - maksymalne halo (odleglosc od geometrii) z jakiego brane sa trojkaty do cache'a 
  38.                                             // Freq - czestotliwosc [Hz] pobierania trojkatow
  39.                                             // rozmiar cache'a jest dynamicznie obliczany na podstawie predkosci calej fizyki
  40. !TerrainCacheParams(f,f,f)                  // parametry cache'a dla terenu
  41. !StaticObjectsCacheParams(f,f,f)            // parametry cache'a dla obiektow static
  42. !TreesCacheParams(f,f,f)                    // parametry cache'a dla drzew
  43.  
  44. //-------------------------------------------------------------------------------------------------
  45. // parametry poszczegolnych fizyk - korzysta CODEPhysics
  46. !PhysicsParams()                         
  47. !SetMaxVels(f,f)                            // maksymalna predkosc liniowa [cm/s] i katowa [rad/s] ciala (-1 disabled)
  48. !SetAutoDisableVels(f,f,f)                  // predkosci wylaczenia fizyki: liniowa, katowa i czas trwania
  49. !SetVelsGate(f,f)                           // bramka szumow dla predkosci liniowej i katowej - po wspolrzednych (np. jesli |vSpeed.fX| < f to zerujemy vSpeed.fX)
  50. !SetAbsorbers(f,f)                           // wspolczynniki tlumienia predkosci liniowej i katowej przy kazdym kroku symulacji
  51. !EnableMassPoint(i)                         // wlacza/wylacza interpretacje bryly ODE jako punktu materialnego (bez predkosci obrotowej)
  52. !EnableCollisionHullForTrees(i)             // wlacza/wylacza kolizje z drzewami na podstawie CollisionHull - osobnej geometrii opisujacej tylko pien - nie liscie
  53. !SetWaterFloat(f)                           // plywalnosc
  54. !SetCollisionDepthCompressor(f,f)           // kompresja zaglebienia kolizji: (bias, factor) zaglebienia powyzej bias beda skalowane przez factor
  55. !SetMaxWatchingTime(f)                      // czas przebywania fizyki w stanie WATCHING - czuwania na impuls/kolizje przed calkowitym wylaczeniam
  56. !SetPhysicsSurfaceID(i)                     // typ powierzchni (SurfaceID) dla calej fizyki
  57. !SetExtraGravity(f,f,f)                     // ustawienie dodatkowej grawitacji fizyki (poza standardowa zdefiniowana dla swiata)
  58. !SetAwakener(i)                             // czy fizyka ma budzic inne fizyki w swoim sasiedztwie
  59.  
  60. //-------------------------------------------------------------------------------------------------
  61. // parametry handlera kolizyjnego - korzysta CODEPhysics
  62. !CollisionHandlerParams()               
  63. !SetType(s)                                    // ustawia typ handlera (NONE, ONLYCALL, OBJECT, ALL)
  64. !SetInterval(f)                             // minimalny odstep czasowy pomiedzy zawolaniem dwoch handlerow
  65. !SetLinVelThreshold(f)                      // minimlana predkosc liniowa punktu kolizji aby handler zostal zawolany
  66. !SetDepthThreshold(f)                       // minimlana glebokosc penetracji podczas kolizji aby handler zostal zawolany
  67.  
  68. //-------------------------------------------------------------------------------------------------
  69. // parametry kontaktu - korzysta CODEPhysics
  70. !ContactParams(s)                           // definiuje parametry kontaktu typu s (User, Bounce, Slide, ...)
  71. !ZeroFlags()
  72. !SetModeFlag(s)
  73. !ClearModeFlag(s)
  74. !Mu(f)
  75. !Mu2(f)
  76. !Bounce(f)
  77. !BounceVel(f)
  78. !SoftERP(f)
  79. !SoftCFM(f)
  80. !Motion1(f)
  81. !Motion2(f)
  82. !Slip1(f)
  83. !Slip2(f)
  84. !Ignore(i)
  85.  
  86. //-------------------------------------------------------------------------------------------------
  87. // parametry dzwiekow kolizji - korzysta CODEPhysics
  88. !CollisionSoundsParams()                    // definiuje grupe odpowiedzialna za obsluge dzwiekow kolizji uderzenia i tarcia (hit, friction)
  89. !SetFreqMinMax(f, f)                        // minimalny i maksymalny mnoznik czestotliwosci - wartosc jest losowana z tego przedzialu
  90. !SetInterval(f)                             // odstep czasu pomiedzy dwoma dzwiekami (osobno hit i friction)
  91. !SetHitMinVolumeLinVel(f)                   // predkosc minimalna, dla ktorej zawola sie dzwiek hit - dla tej predkosci dzwieki beda wolane z najmniejsza glosnoscia
  92. !SetHitMaxVolumeLinVel(f)                   // predkosc dla ktorej dzwieki hit beda odgrywane z najwieksza glosnoscia - powyzej tej predkosci wszytkie dzwieki beda grane z max glosnoscia
  93. !SetFrictionMinVolumeLinVel(f)              // predkosc minimalna, dla ktorej zawola sie dzwiek friction - dla tej predkosci dzwieki beda wolane z najmniejsza glosnoscia
  94. !SetFrictionMaxVolumeLinVel(f)              // predkosc dla ktorej dzwieki friction beda odgrywane z najwieksza glosnoscia - powyzej tej predkosci wszytkie dzwieki beda grane z max glosnoscia
  95. !SetFrictionDotThreshold(f)                 // graniczny cos kata pomiedzy predkoscia calej bryly i normalna kontaktu. Dla wszystkich kolizji z katem wiekszym (dot mniejszy) niz ustalona wartosc wolane beda dzwieki tarcia
  96. !SetHitSound(i, s)                          // nazwa pliku (wraz ze sciazka) w formacie _XX dla dzwieku typu hit przy kolizji z podanym (pierwszy parametr) typem powierzchni (jako nazwe pliku mozna pozac "silent")
  97. !SetFrictionSound(i, s)                     // nazwa pliku (wraz ze sciazka) w formacie _XX dla dzwieku typu friction przy kolizji z podanym (pierwszy parametr) typem powierzchni (jako nazwe pliku mozna pozac "silent")
  98. !SetHitInessential(i)                       // "nieistotnosc" dzwieku typu Hit - w przypadku zapchania sie kanalow dzwiekowych te dzwieki nie beda odgrywane
  99. !SetFrictionInessential(i)                  // "nieistotnosc" dzwieku typu Hit - w przypadku zapchania sie kanalow dzwiekowych te dzwieki nie beda odgrywane
  100.  
  101.